Part Number Hot Search : 
CY7B1 CSC2073 ASI10516 L78L05CD UM82C54 CY7B1 SP8K24 TC11L003
Product Description
Full Text Search
 

To Download DS1982 Datasheet File

  If you can't view the Datasheet, Please click here to try to view without PDF Reader .  
 
 


  Datasheet File OCR Text:
 DS1982
DS1982 1Kbit Add-Only iButtonTM
SPECIAL FEATURES
COMMON iButton FEATURES
* 1024
bits Electrically Programmable Read Only Memory (EPROM) communicates with the economy of one signal plus ground domly accessing packetized data records
* Unique, factory-lasered
* EPROM partitioned into four 256-bit pages for ran* Each memory page can be permanently write-protected to prevent tampering
and tested 64-bit registration number (8-bit family code + 48-bit serial number + 8-bit CRC tester) assures absolute traceability because no two parts are alike
* Multidrop controller for MicroLANTM * Digital identification and information
contact
by momentary
* Device is an "add only" memory where additional data
can be programmed into EPROM without disturbing existing data
* Architecture allows software to patch data by superseding an old page in favor of a newly programmed page
* Chip-based data carrier compactly stores information * Data can be accessed while affixed to object * Economically communicates to bus master with a
single digital signal at 16.3k bits per second
* Standard * Button
probes
* Reduces control, address, data, power, and programming signals to a single data pin
16 mm diameter and 1-WireTM protocol ensure compatibility with iButton family shape is self-aligning with cup-shaped
* 8-bit family code specifies DS1982 communications
requirements to reader
* Durable stainless steel case engraved with registration number withstands harsh environments
* Reads over a wide voltage range of 2.8V to 6.0V from
-40C to +85C; programs at 11.5V to 12.0V from -40C to +50C
* Easily
affixed with self-stick adhesive backing, latched by its flange, or locked with a ring pressed onto its rim acknowledges when reader first applies voltage
* Presence detector
* Meets UL#913 (4th Edit.); Intrinsically Safe ApparaF3 MICROCANTM
3.10 0.36 0.51 16.25
YYWW REGISTERED RR
tus, Approved under Entity Concept for use in Class I, Division 1, Group A, B, C and D Locations (application pending)
F5 MICROCANTM
5.89 0.36 0.51 16.25
YYWW REGISTERED RR
97
09
17.35
000000FBC52B
17
09
17.35
000000FBD8B3
DATA GROUND DATA GROUND
All dimensions shown in millimeters.
062598 1/21
DS1982
ORDERING INFORMATION
DS1982-F3 DS1982-F5 F3 MicroCan F5 MicroCan
OVERVIEW
The block diagram in Figure 1 shows the relationships between the major control and memory sections of the DS1982. The DS1982 has three main data components: 1) 64-bit lasered ROM, 2) 1024-bit EPROM, and 3) EPROM Status Bytes. The device derives its power for read operations entirely from the 1-Wire communication line by storing energy on an internal capacitor during periods of time when the signal line is high and continues to operate off of this "parasite" power source during the low times of the 1-Wire line until it returns high to replenish the parasite (capacitor) supply. During programming, 1-Wire communication occurs at normal voltage levels and then is pulsed momentarily to the programming voltage to cause the selected EPROM bits to be programmed. The 1-Wire line must be able to provide 12 volts and 10 milliamperes to adequately program the EPROM portions of the part. Whenever programming voltages are present on the 1-Wire line a special high voltage detect circuit within the DS1982 generates an internal logic signal to indicate this condition. The hierarchical structure of the 1-Wire protocol is shown in Figure 2. The bus master must first provide one of the four ROM Function Commands, 1) Read ROM, 2) Match ROM, 3) Search ROM, 4) Skip ROM. These commands operate on the 64-bit lasered ROM portion of each device and can singulate a specific device if many are present on the 1-Wire line as well as indicate to the bus master how many and what types of devices are present. The protocol required for these ROM Function Commands is described in Figure 9. After a ROM Function Command is successfully executed, the memory functions that operate on the EPROM portions of the DS1982 become accessible and the bus master may issue any one of the five Memory Function Commands specific to the DS1982 to read or program the various data fields. The protocol for these Memory Function Commands is described in Figure 6. All data is read and written least significant bit first.
EXAMPLES OF ACCESSORIES
DS9096P DS9101 DS9093RA DS9093F DS9092 Self-Stick Adhesive Pad Multi-Purpose Clip Mounting Lock Ring Snap-In Fob iButton Probe
iButton DESCRIPTION
The DS1982 1K-bit iButton is a rugged read/write data carrier that identifies and stores relevant information about the product or person to which it is attached. This information can be accessed with minimal hardware, for example a single port pin of a microcontroller. The DS1982 consists of a factory-lasered registration number that includes an unique 48-bit serial number, an 8-bit CRC, and an 8-bit Family Code (09h) plus 1K-bit of EPROM which is user-programmable. The power to program and read the DS1982 is derived entirely from the 1-Wire communication line. Data is transferred serially via the 1-Wire protocol which requires only a single data lead and a ground return. The entire device can be programmed and then write-protected if desired. Alternatively, the part may be programmed multiple times with new data being appended to, but not overwriting, existing data with each subsequent programming of the device. Note: Individual bits can be changed only from a logical 1 to a logical 0, never from a logical 0 to a logical 1. A provision is also included for indicating that a certain page or pages of data are no longer valid and have been replaced with new or updated data that is now residing at an alternate page address. This page address redirection allows software to patch data and enhance the flexibility of the device as a standalone database. The 48-bit serial number that is factory-lasered into each DS1982 provides a guaranteed unique identity which allows for absolute traceability. The durable MicroCan package is highly resistant to harsh environments such as dirt, moisture, and shock. Its compact button-shaped profile is self-aligning with cup-shaped receptacles, allowing the DS1982 to be used easily by human operators or automatic equipment. Accessories permit the DS1982 to be mounted on printed circuit boards, plastic key fobs, photo-ID badges, ID bracelets, and many other objects. Applications include work-in- progress tracking, electronic travelers, access control, storage of calibration constants, and debit tokens.
64-BIT LASERED ROM
Each DS1982 contains a unique ROM code that is 64 bits long. The first eight bits are a 1-Wire family code. The next 48 bits are a unique serial number. The last eight bits are a CRC of the first 56 bits. (See Figure 3). The 64-bit ROM and ROM Function Control section allow the DS1982 to operate as a 1-Wire device and follow the 1-Wire protocol detailed in the section "1-Wire Bus System". The memory functions required to read
062598 2/21
DS1982
and program the EPROM sections of the DS1982 are not accessible until the ROM function protocol has been satisfied. This protocol is described in the ROM functions flow chart (Figure 9). The 1-Wire bus master must first provide one of four ROM function commands: 1) Read ROM, 2) Match ROM, 3) Search ROM, or 4) Skip ROM. After a ROM function sequence has been successfully executed, the bus master may then provide any one of the memory function commands specific to the DS1982 (Figure 6). The 1-Wire CRC of the lasered ROM is generated using the polynomial X8 + X5 + X4 + 1. Additional information
about the Dallas Semiconductor 1-Wire Cyclic Redundancy Check is available in the Book of DS19xx iButton Standards. The shift register acting as the CRC accumulator is initialized to zero. Then starting with the least significant bit of the family code, one bit at a time is shifted in. After the eighth bit of the family code has been entered, then the serial number is entered. After the 48th bit of the serial number has been entered, the shift register contains the CRC value. Shifting in the eight bits of CRC should return the shift register to all zeroes.
DS1982 BLOCK DIAGRAM Figure 1
PARASITE POWER
1-WIRE BUS
DATA 1-WIRE FUNCTION CONTROL 64-BIT LASERED ROM
PROGRAM VOLTAGE DETECT
MEMORY FUNCTION CONTROL
8-BIT SCRATCHPAD
8-BIT CRC GENERATOR
1024-BIT EPROM (4 PAGES OF 32 BYTES)
EPROM STATUS BYTES
062598 3/21
DS1982
HIERARCHICAL STRUCTURE FOR 1-WIRE PROTOCOL Figure 2
BUS MASTER
1-WIRE BUS
OTHER DEVICES
DS1982
COMMAND LEVEL: AVAILABLE COMMANDS: READ ROM MATCH ROM SEARCH ROM SKIP ROM DATA FIELD AFFECTED: 64-BIT ROM 64-BIT ROM 64-BIT ROM N/A
1-WIRE ROM FUNCTION COMMANDS (SEE FIGURE 9)
DS1982-SPECIFIC MEMORY FUNCTION COMMANDS (SEE FIGURE 6)
WRITE MEMORY WRITE STATUS BYTE READ MEMORY READ STATUS BYTE READ DATA/GENERATE 8-BIT CRC
1024-BIT EPROM EPROM STATUS BYTES 1024-BIT EPROM EPROM STATUS BYTES 1024-BIT EPROM
64-BIT LASERED ROM Figure 3
8-Bit CRC Code MSB LSB 48-Bit Serial Number MSB LSB 8-Bit Family Code (09h) MSB LSB
1-WIRE CRC GENERATOR Figure 4
INPUT
XOR (MSB)
XOR (LSB)
XOR
062598 4/21
DS1982
1024-BIT EPROM
The memory map in Figure 5 shows the 1024-bit EPROM section of the DS1982 which is configured as four pages of 32 bytes each. The 8-bit scratchpad is an additional register that acts as a buffer when programming the memory. Data is first written to the scratchpad and then verified by reading an 8-bit CRC from the DS1982 that confirms proper receipt of the data. If the buffer contents are correct, a programming voltage should be applied and the byte of data will be written into the selected address in memory. This process insures data integrity when programming the memory. The details for reading and programming the 1024-bit EPROM portion of the DS1982 are given in the Memory Function Commands section.
the DS1982 by writing the one's complement of the new page address into the Page Address Redirection Byte that corresponds to the original (replaced) page. This architecture allows the user's software to make a "data patch" to the EPROM by indicating that a particular page or pages should be replaced with those indicated in the Page Address Redirection Bytes. If a Page Address Redirection Byte has a FFH value, the data in the main memory that corresponds to that page is valid. If a Page Address Redirection Byte has some other hex value, the data in the page corresponding to that redirection byte is invalid, and the valid data can now be found at the one's complement of the page address indicated by the hex value stored in the associated Page Address Redirection Byte. A value of FDH in the redirection byte for page 1, for example, would indicate that the updated data is now in page 2. The details for reading and programming the EPROM status memories portion of the DS1982 is given in the Memory Function Commands section.
EPROM STATUS BYTES
In addition to the 1024 bits of data memory the DS1982 provides 64 bits of Status Memory accessible with separate commands. The EPROM Status Bytes can be read or programmed to indicate various conditions to the software interrogating the DS1982. The first byte of the EPROM Status Memory contains the Write Protect Page bits which inhibit programming of the corresponding page in the 1024-bit main memory area if the appropriate write protection bit is programmed. Once a bit has been programmed in the Write Protect Page byte, the entire 32 byte page that corresponds to that bit can no longer be altered but may still be read. The next four bytes of the EPROM Status Memory contain the Page Address Redirection Bytes which indicate if one or more of the pages of data in the 1024-bit EPROM section have been invalidated and redirected to the page address contained in the appropriate redirection byte. The hardware of the DS1982 makes no decisions based on the contents of the Page Address Redirection Bytes. These additional bytes of Status EPROM allow for the redirection of an entire page to another page address, indicating that the data in the original page is no longer considered relevant or valid. With EPROM technology, bits within a page can be changed from a logical 1 to a logical 0 by programming, but cannot be changed back. Therefore, it is not possible to simply rewrite a page if the data requires changing or updating, but with space permitting, an entire page of data can be redirected to another page within
MEMORY FUNCTION COMMANDS
The "Memory Function Flow Chart" (Figure 6) describes the protocols necessary for accessing the various data fields within the DS1982. The Memory Function Control section, 8-bit scratchpad, and the Program Voltage Detect circuit combine to interpret the commands issued by the bus master and create the correct control signals within the device. A three-byte protocol is issued by the bus master. It is comprised of a command byte to determine the type of operation and two address bytes to determine the specific starting byte location within a data field. The command byte indicates if the device is to be read or written. Writing data involves not only issuing the correct command sequence but also providing a 12 volt programming voltage at the appropriate times. To execute a write sequence, a byte of data is first loaded into the scratchpad and then programmed into the selected address. Write sequences always occur a byte at a time. To execute a read sequence, the starting address is issued by the bus master and data is read from the part beginning at that initial location and continuing to the end of the selected data field or until a reset sequence is issued. All bits transferred to the DS1982 and received back by the bus master are sent least significant bit first.
062598 5/21
DS1982
DS1982 MEMORY MAP Figure 5
8-BIT SCRATCHPAD STARTING ADDRESS 0000h PAGE 0 32 BYTES 0020h PAGE 1 32 BYTES 1024-BIT EPROM 0040h PAGE 2 32 BYTES 0060h PAGE 3 32 BYTES
EPROM STATUS BYTES
ADDRESS: 0007h (MSB) 7 0006h 0005h 0004h 0003h 0002h 0001h 0000h (LSB) 0
6
5
4
3
2
1
FACTORY- PROGRAMMED 00h
RESERVED FOR FUTURE EXPANSION
PAGE ADDRESS REDIRECTION BYTE FOR PAGE 3
PAGE ADDRESS REDIRECTION BYTE FOR PAGE 2
PAGE ADDRESS REDIRECTION BYTE FOR PAGE 1
PAGE ADDRESS REDIRECTION BYTE FOR PAGE 0
BIT 0 BIT 1 BIT 2 BIT 3 BIT 4-7
WRITE PROTECT PAGE 0 WRITE PROTECT PAGE 1 WRITE PROTECT PAGE 2 WRITE PROTECT PAGE 3 BITMAP OF USED PAGES (RESERVED FOR TMEX)
062598 6/21
DS1982
MEMORY FUNCTION FLOW CHART Figure 6
MASTER TX MEMORY FUNCTION COMMAND
F0h READ MEMORY ? Y BUS MASTER TX TA1 (T7:T0)
N
AAh READ STATUS ? Y BUS MASTER TX TA1 (T7:T0)
N
BUS MASTER TX TA2 (T15:T8)
BUS MASTER TX TA2 (T15:T8)
BUS MASTER RX 8-BIT CRC OF COMMAND AND ADDRESS
BUS MASTER RX 8-BIT CRC OF COMMAND AND ADDRESS
CRC CORRECT ? Y BUS MASTER RX DATA FROM DATA MEMORY
N
MASTER TX RESET
N
CRC CORRECT ? Y BUS MASTER RX DATA FROM STATUS MEMORY
Y BUS MASTER TX RESET ? DS1982 INCREMENTS ADDRESS COUNTER N N Y
BUS MASTER TX RESET ? N
END OF DATA MEMORY ? Y Y BUS MASTER TX RESET ? N BUS MASTER RX 8-BIT CRC OF DATA Y
END OF STATUS MEMORY ?
N
DS1982 INCREMENTS ADDRESS COUNTER
Y
BUS MASTER TX RESET ? N BUS MASTER RX 8-BIT CRC OF STATUS DATA N
Y BUS MASTER TX RESET ? N BUS MASTER RX 1'S Y
BUS MASTER TX RESET ? N BUS MASTER RX 1'S
DS1982 TX PRESENCE PULSE
062598 7/21
DS1982
MEMORY FUNCTION FLOW CHART (cont'd) Figure 6
C3h READ DATA & GENERATE 8-BIT CRC ? Y BUS MASTER TX TA1 (T7:T0) N TO WRITE COMMANDS
BUS MASTER TX TA2 (T15:T8)
BUS MASTER RX 8-BIT CRC OF COMMAND AND ADDRESS
CRC CORRECT ? Y BUS MASTER RX DATA FROM DATA MEMORY
N
BUS MASTER TX RESET
BUS MASTER TX RESET ? DS1982 INCREMENTS ADDRESS COUNTER N N
Y
END OF PAGE ?
Y BUS MASTER RX 8-BIT CRC OF PRECEDING PAGE OF DATA
LEGEND:
CRC CORRECT ?
N
BUS MASTER TX RESET
N
DECISION MADE BY THE MASTER
END OF MEMORY ?
Y
DECISION MADE BY DS1982
BUS MASTER TX RESET ? N BUS MASTER RX 1'S
Y
DS1982 TX PRESENCE PULSE
062598 8/21
DS1982
MEMORY FUNCTION FLOW CHART (cont'd) Figure 6
0Fh WRITE MEMORY ? Y BUS MASTER TX TA1 (T7:T0) N 55h WRITE STATUS ? Y BUS MASTER TX TA1 (T7:T0) N
FROM READ COMMANDS
BUS MASTER TX TA2 (T15:T8)
BUS MASTER TX TA2 (T15:T8)
BUS MASTER TX DATA BYTE (D7:D0)
BUS MASTER TX DATA BYTE (D7:D0)
BUS MASTER RX 8-BIT CRC OF COMMAND, ADDRESS, DATA (1ST PASS) CRC OF ADDRESS, DATA (SUBSEQUENT PASSES)
BUS MASTER RX 8-BIT CRC OF COMMAND, ADDRESS, DATA (1ST PASS) CRC OF ADDRESS, DATA (SUBSEQUENT PASSES)
BUS MASTER TX RESET
N
CRC CORRECT ? Y BUS MASTER TX PROGRAM PULSE
N
CRC CORRECT ? Y BUS MASTER TX PROGRAM PULSE
DS1982 COPIES SCRATCHPAD TO DATA EPROM
DS1982 COPIES SCRATCHPAD TO STATUS EPROM
BUS MASTER RX BYTE FROM EPROM
BUS MASTER RX BYTE FROM EPROM
N
EPROM BYTE = DATA BYTE ? Y
N
EPROM BYTE = DATA BYTE ? Y
Y
END OF DATA MEMORY ? N DS1982 INCREMENTS ADDRESS COUNTER
Y
END OF STATUS MEMORY ? N DS1982 INCREMENTS ADDRESS COUNTER
MASTER TX RESET
DS1982 LOADS LSB OF NEW ADDRESS INTO CRC GENERATOR
MASTER TX RESET
DS 1982 LOADS LSB OF NEW ADDRESS INTO CRC GENERATOR DS1982 TX PRESENCE PULSE
062598 9/21
DS1982
READ MEMORY [F0H]
The Read Memory command is used to read data from the 1024-bit EPROM data field. The bus master follows the command byte with a two byte address (TA1=(T7:T0), TA2=(T15:T8)) that indicates a starting byte location within the data field. An 8-bit CRC of the command byte and address bytes is computed by the DS1982 and read back by the bus master to confirm that the correct command word and starting address were received. If the CRC read by the bus master is incorrect, a Reset Pulse must be issued and the entire sequence must be repeated. If the CRC received by the bus master is correct, the bus master issues read time slots and receives data from the DS1982 starting at the initial address and continuing until the end of the 1024-bit data field is reached or until a Reset Pulse is issued. If reading occurs through the end of memory space, the bus master may issue eight additional read time slots and the DS1982 will respond with an 8-bit CRC of all data bytes read from the initial starting byte through the last byte of memory. After the CRC is received by the bus master, any subsequent read time slots will appear as logical 1s until a Reset Pulse is issued. Any reads ended by a Reset Pulse prior to reaching the end of memory will not have the 8-bit CRC available. Typically a 16-bit CRC would be stored with each page of data to insure rapid, error-free data transfers that eliminate having to read a page multiple times to determine if the received data is correct or not. (See Book of DS19xx iButton Standards, Chapter 7 for the recommended file structure to be used with the 1-Wire environment.) If CRC values are imbedded within the data, a Reset Pulse may be issued at the end of memory space during a Read Memory command.
tus data field is reached. At that point the bus master will receive an 8-bit CRC that is the result of shifting into the CRC generator all of the data bytes from the initial starting byte through the final factory-programmed byte that contains the 00h value. This feature is provided since the EPROM Status information may change over time making it impossible to program the data once and include an accompanying CRC that will always be valid. Therefore, the Read Status command supplies an 8-bit CRC that is based on and always is consistent with the current data stored in the EPROM Status data field. After the 8-bit CRC is read, the bus master will receive logical 1s from the DS1982 until a Reset Pulse is issued. The Read Status command sequence can be exited at any point by issuing a Reset Pulse.
READ DATA/GENERATE 8-BIT CRC [C3H]
The Read Data/Generate 8-bit CRC command is used to read data from the 1024-bit EPROM memory field. The bus master follows the command byte with a two byte address (TA1=(T7:T0), TA2=(T15:T8)) that indicates a starting byte location within the data field. An 8-bit CRC of the command byte and address bytes is computed by the DS1982 and read back by the bus master to confirm that the correct command word and starting address were received. If the CRC read by the bus master is incorrect, a Reset Pulse must be issued and the entire sequence must be repeated. If the CRC received by the bus master is correct, the bus master issues read time slots and receives data from the DS1982 starting at the initial address and continuing until the end of a 32-byte page is reached. At that point the bus master will send eight additional read time slots and receive an 8-bit CRC that is the result of shifting into the CRC generator all of the data bytes from the initial starting byte to the last byte of the current page. Once the 8-bit CRC has been received, data is again read from the 1024-bit EPROM data field starting at the next page. This sequence will continue until the final page and its accompanying CRC are read by the bus master. Thus each page of data can be considered to be 33 bytes long, the 32 bytes of user-programmed EPROM data and an 8-bit CRC that gets generated automatically at the end of each page. This type of read differs from the Read Memory command which simply reads each page until the end of address space is reached. The Read Memory com-
READ STATUS [AAH]
The Read Status command is used to read data from the EPROM Status data field. The bus master follows the command byte with a two byte address (TA1=(T7:T0), TA2=(T15:T8)) that indicates a starting byte location within the data field. An 8-bit CRC of the command byte and address bytes is computed by the DS1982 and read back by the bus master to confirm that the correct command word and starting address were received. If the CRC read by the bus master is incorrect, a Reset Pulse must be issued and the entire sequence must be repeated. If the CRC received by the bus master is correct, the bus master issues read time slots and receives data from the DS1982 starting at the supplied address and continuing until the end of the EPROM Sta-
062598 10/21
DS1982
mand only generates an 8-bit CRC at the end of memory space that often might be ignored, since in many applications the user would store a 16-bit CRC with the data itself in each page of the 1024-bit EPROM data field at the time the page was programmed. The Read Data/Generate 8-bit CRC command provides an alternate read capability for applications that are "bit-oriented" rather than "page-oriented" where the 1024-bit EPROM information may change over time within a page boundary making it impossible to program the page once and include an accompanying CRC that will always be valid. Therefore, the Read Data/Generate 8-Bit CRC command concludes each page with the DS1982 generating and supplying an 8-bit CRC that is based on and therefore is always consistent with the current data stored in each page of the 1024-bit EPROM data field. After the 8-bit CRC of the last page is read, the bus master will receive logical 1s from the DS1982 until a Reset Pulse is issued. The Read Data/ Generate 8-Bit CRC command sequence can be exited at any point by issuing a Reset Pulse.
the programming pulse has been applied at that byte location. After the 480 s programming pulse is applied and the data line returns to a 5 volt level, the bus master issues eight read time slots to verify that the appropriate bits have been programmed. The DS1982 responds with the data from the selected EPROM address sent least significant bit first. This byte contains the logical AND of all bytes written to this EPROM data address. If the EPROM data byte contains 1s in bit positions where the byte issued by the master contains 0s, a Reset Pulse should be issued and the current byte address should be programmed again. If the DS1982 EPROM data byte contains 0s in the same bit positions as the data byte, the programming was successful and the DS1982 will automatically increment its address counter to select the next byte in the 1024-bit EPROM data field. The least significant byte of the new two byte address will also be loaded into the 8-bit CRC generator as a starting value. The bus master will issue the next byte of data using eight write time slots. As the DS1982 receives this byte of data into the scratchpad, it also shifts the data into the CRC generator that has been preloaded with the LSB of the current address and the result is an 8-bit CRC of the new data byte and the LSB of the new address. After supplying the data byte, the bus master will read this 8-bit CRC from the DS1982 with eight read time slots to confirm that the address incremented properly and the data byte was received correctly. If the CRC is incorrect, a Reset Pulse must be issued and the Write Memory command sequence must be restarted. If the CRC is correct, the bus master will issue a programming pulse and the selected byte in memory will be programmed. Note that the initial pass through the Write Memory flow chart will generate an 8-bit CRC value that is the result of shifting the command byte into the CRC generator, followed by the two address bytes, and finally the data byte. Subsequent passes through the Write Memory flow chart due to the DS1982 automatically incrementing its address counter will generate an 8-bit CRC that is the result of loading (not shifting) the LSB of the new (incremented) address into the CRC generator and then shifting in the new data byte. For both of these cases, the decision to continue (to apply a program pulse to the DS1982) is made entirely by the bus master, since the DS1982 will not be able to determine if the 8-bit CRC calculated by the bus master
WRITE MEMORY [0FH]
The Write Memory command is used to program the 1024-bit EPROM data field. The bus master will follow the command byte with a two byte starting address (TA1=(T7:T0), TA2=(T15:T8)) and a byte of data (D7:D0). An 8-bit CRC of the command byte, address bytes, and data byte is computed by the DS1982 and read back by the bus master to confirm that the correct command word, starting address, and data byte were received. The highest starting address within the DS1982 is 007FH. If the bus master sends a starting address higher than this, the nine most significant address bits are set to zero by the internal circuitry of the chip. This will result in a mismatch between the CRC calculated by the DS1982 and the CRC calculated by the bus master, indicating an error condition. If the CRC read by the bus master is incorrect, a Reset Pulse must be issued and the entire sequence must be repeated. If the CRC received by the bus master is correct, a programming pulse (12 volts on the 1-Wire bus for 480 s) is issued by the bus master. Prior to programming, the entire unprogrammed 1024-bit EPROM data field will appear as logical 1s. For each bit in the data byte provided by the bus master that is set to a logical 0, the corresponding bit in the selected byte of the 1024-bit EPROM will be programmed to a logical 0 after
062598 11/21
DS1982
agrees with the 8-bit CRC calculated by the DS1982. If an incorrect CRC is ignored and a program pulse is applied by the bus master, incorrect programming could occur within the DS1982. Also note that the DS1982 will always increment its internal address counter after the receipt of the eight read time slots used to confirm the programming of the selected EPROM byte. The decision to continue is again made entirely by the bus master, therefore if the EPROM data byte does not match the supplied data byte but the master continues with the Write Memory command, incorrect programming could occur within the DS1982. The Write Memory command sequence can be exited at any point by issuing a Reset Pulse.
EPROM Status Byte contains 0s in the same bit positions as the data byte, the programming was successful and the DS1982 will automatically increment its address counter to select the next byte in the EPROM Status data field. The least significant byte of the new two-byte address will also be loaded into the 8-bit CRC generator as a starting value. The bus master will issue the next byte of data using eight write time slots. As the DS1982 receives this byte of data into the scratchpad, it also shifts the data into the CRC generator that has been preloaded with the LSB of the current address and the result is an 8-bit CRC of the new data byte and the LSB of the new address. After supplying the data byte, the bus master will read this 8-bit CRC from the DS1982 with eight read time slots to confirm that the address incremented properly and the data byte was received correctly. If the CRC is incorrect, a Reset Pulse must be issued and the Write Status command sequence must be restarted. If the CRC is correct, the bus master will issue a programming pulse and the selected byte in memory will be programmed. Note that the initial pass through the Write Status flow chart will generate an 8-bit CRC value that is the result of shifting the command byte into the CRC generator, followed by the two address bytes, and finally the data byte. Subsequent passes through the Write Status flow chart due to the DS1982 automatically incrementing its address counter will generate an 8-bit CRC that is the result of loading (not shifting) the LSB of the new (incremented) address into the CRC generator and then shifting in the new data byte. For both of these cases, the decision to continue (to apply a program pulse to the DS1982) is made entirely by the bus master, since the DS1982 will not be able to determine if the 8-bit CRC calculated by the bus master agrees with the 8-bit CRC calculated by the DS1982. If an incorrect CRC is ignored and a program pulse is applied by the bus master, incorrect programming could occur within the DS1982. Also note that the DS1982 will always increment its internal address counter after the receipt of the eight read time slots used to confirm the programming of the selected EPROM byte. The decision to continue is again made entirely by the bus master, therefore if the EPROM data byte does not match the supplied data byte but the master continues with the Write Status command, incorrect programming could occur within the DS1982. The Write Status command sequence can be ended at any point by issuing a Reset Pulse.
WRITE STATUS [55H]
The Write Status command is used to program the EPROM Status data field. The bus master will follow the command byte with a two byte starting address (TA1=(T7:T0), TA2=(T15:T8)) and a byte of status data (D7:D0). An 8-bit CRC of the command byte, address bytes, and data byte is computed by the DS1982 and read back by the bus master to confirm that the correct command word, starting address, and data byte were received. If the CRC read by the bus master is incorrect, a Reset Pulse must be issued and the entire sequence must be repeated. If the CRC received by the bus master is correct, a programming pulse (12 volts on the 1-Wire bus for 480 s) is issued by the bus master. Prior to programming, the first seven bytes of the EPROM Status data field will appear as logical 1s. For each bit in the data byte provided by the bus master that is set to a logical 0, the corresponding bit in the selected byte of the EPROM Status data field will be programmed to a logical 0 after the programming pulse has been applied at that byte location. The eighth byte of the EPROM Status Byte data field is factory-programmed to contain 00h. After the 480 s programming pulse is applied and the data line returns to a 5 volt level, the bus master issues eight read time slots to verify that the appropriate bits have been programmed. The DS1982 responds with the data from the selected EPROM Status address sent least significant bit first. This byte contains the logical AND of all bytes written to this EPROM Status Byte address. If the EPROM Status Byte contains 1s in bit positions where the byte issued by the master contained 0s, a Reset Pulse should be issued and the current byte address should be programmed again. If the DS1982
062598 12/21
DS1982
1-WIRE BUS SYSTEM
The 1-Wire bus is a system which has a single bus master and one or more slaves. In all instances, the DS1982 is a slave device. The bus master is typically a microcontroller. The discussion of this bus system is broken down into three topics: hardware configuration, transaction sequence, and 1-Wire signaling (signal type and timing). A 1-Wire protocol defines bus transactions in terms of the bus state during specified time slots that are initiated on the falling edge of sync pulses from the bus master. For a more detailed protocol description, refer to Chapter 4 of the Book of DS19xx iButton Standards.
TRANSACTION SEQUENCE
The sequence for accessing the DS1982 via the 1-Wire port is as follows:
* Initialization * ROM Function Command * Memory Function Command * Read/Write Memory/Status
INITIALIZATION
All transactions on the 1-Wire bus begin with an initialization sequence. The initialization sequence consists of a reset pulse transmitted by the bus master followed by a presence pulse(s) transmitted by the slave(s). The presence pulse lets the bus master know that the DS1982 is on the bus and is ready to operate. For more details, see the "1-Wire Signaling" section.
Hardware Configuration
The 1-Wire bus has only a single line by definition; it is important that each device on the bus be able to drive it at the appropriate time. To facilitate this, each device attached to the 1-Wire bus must have an open drain connection or 3-state outputs. The DS1982 is an open drain part with an internal circuit equivalent to that shown in Figure 7. The bus master can be the same equivalent circuit. If a bidirectional pin is not available, separate output and input pins can be tied together. The bus master requires a pull-up resistor at the master end of the bus, with the bus master circuit equivalent to the one shown in Figures 8a and 8b. The value of the pull-up resistor should be approximately 5 k for short line lengths. A multidrop bus consists of a 1-Wire bus with multiple slaves attached. The 1-Wire bus has a maximum data rate of 16.3k bits per second. If the bus master is also required to perform programming of the EPROM portions of the DS1982, a programming supply capable of delivering up to 10 milliamps at 12 volts for 480 s is required. The idle state for the 1-Wire bus is high. If, for any reason, a transaction needs to be suspended, the bus MUST be left in the idle state if the transaction is to resume. If this does not occur and the bus is left low for more than 120 s, one or more of the devices on the bus may be reset.
ROM FUNCTION COMMANDS
Once the bus master has detected a presence, it can issue one of the four ROM function commands. All ROM function commands are eight bits long. A list of these commands follows (refer to flowchart in Figure 9):
Read ROM [33H]
This command allows the bus master to read the DS1982's 8-bit family code, unique 48-bit serial number, and 8-bit CRC. This command can be used only if there is a single DS1982 on the bus. If more than one slave is present on the bus, a data collision will occur when all slaves try to transmit at the same time (open drain will produce a wired-AND result).
Match ROM [55H]
The match ROM command, followed by a 64-bit ROM sequence, allows the bus master to address a specific DS1982 on a multidrop bus. Only the DS1982 that exactly matches the 64-bit ROM sequence will respond to the subsequent memory function command. All slaves that do not match the 64-bit ROM sequence will wait for a reset pulse. This command can be used with a single or multiple devices on the bus.
062598 13/21
DS1982
DS1982 EQUIVALENT CIRCUIT Figure 7
RX Data (inner surface)
TX
5 A Typ.
100 MOSFET Ground (outer rim)
BUS MASTER CIRCUIT Figure 8
VDD
A) Open Drain
VDD BUS MASTER 10 k 5 k
Open Drain Port Pin RX TX
12V
DS5000 OR 8051 EQUIVALENT
10 k
VP0300L OR VP0106N3 OR D BSS110 S To data connection of DS1982
S
D D 470 pF
2N7000 D 2N7000 S 2N7000 S
PGM
Capacitor added to reduce coupling on data line due to programming signal switching
VDD
B) Standard TTL
BUS MASTER VDD
12V (10 mA min.)
5 k
TTL-Equivalent Port Pins RX TX
PROGRAMMING PULSE
To data connection of DS1982
5 k
062598 14/21
DS1982
ROM FUNCTIONS FLOW CHART Figure 9
MASTER TX RESET PULSE
DS1982 TX PRESENCE PULSE
MASTER TX ROM FUNCTION COMMAND
33h READ ROM COMMAND Y
N
55h MATCH ROM COMMAND Y
N
F0h SEARCH ROM COMMAND Y DS1982 TX BIT 0
N
CCh SKIP ROM COMMAND Y
N
DS1982 TX FAMILY CODE 1 BYTE
MASTER TX BIT 0
DS1982 TX BIT 0 MASTER TX BIT 0
BIT 0 MATCH? Y DS1982 TX SERIAL NUMBER 6 BYTES
N
N
BIT 0 MATCH? Y DS1982 TX BIT 1
MASTER TX BIT 1
DS1982 TX BIT 1 MASTER TX BIT 1
DS1982 TX CRC BYTE
BIT 1 MATCH? Y
N
N
BIT 1 MATCH? Y
DS1982 TX BIT 63 MASTER TX BIT 63 DS1982 TX BIT 63 MASTER TX BIT 63
BIT 63 MATCH? Y
N
N
BIT 63 MATCH? Y
MASTER TX MEMORY FUNCTION COMMAND (SEE FIGURE 6)
062598 15/21
DS1982
Skip ROM [CCH]
This command can save time in a single drop bus system by allowing the bus master to access the memory functions without providing the 64-bit ROM code. If more than one slave is present on the bus and a read command is issued following the Skip ROM command, data collision will occur on the bus as multiple slaves transmit simultaneously (open drain pull-downs will produce a wire-AND result).
delay circuit in the DS1982. During write time slots, the delay circuit determines when the DS1982 will sample the data line. For a read data time slot, if a "0" is to be transmitted, the delay circuit determines how long the DS1982 will hold the data line low overriding the 1 generated by the master. If the data bit is a "1", the iButton will leave the read data time slot unchanged.
PROGRAM PULSE
To copy data from the 8-bit scratchpad to the EPROM Data or Status Memory, a program pulse of 12 volts is applied to the data line after the bus master has confirmed that the CRC for the current byte is correct. During programming, the bus master controls the transition from a state where the data line is idling high via the pull-up resistor to a state where the data line is actively driven to a programming voltage of 12 volts providing a minimum of 10 mA of current to the DS1982. This programming voltage (Figure 12) should be applied for 480 s, after which the bus master returns the data line to an idle high state controlled by the pull-up resistor. Note that due to the high voltage programming requirements for any 1-Wire EPROM device, it is not possible to multi-drop non-EPROM based 1-Wire devices with the DS1982 during programming. An internal diode within the non-EPROM based 1-Wire devices will attempt to clamp the data line at approximately 8 volts and could potentially damage these devices.
Search ROM [F0H]
When a system is initially brought up, the bus master might not know the number of devices on the 1-Wire bus or their 64-bit ROM codes. The search ROM command allows the bus master to use a process of elimination to identify the 64-bit ROM codes of all slave devices on the bus. The ROM search process is the repetition of a simple 3-step routine: read a bit, read the complement of the bit, then write the desired value of that bit. The bus master performs this simple, 3-step routine on each bit of the ROM. After one complete pass, the bus master knows the contents of the ROM in one device. The remaining number of devices and their ROM codes may be identified by additional passes. See Chapter 5 of the Book of DS19xx iButton Standards for a comprehensive discussion of a ROM search, including an actual example.
1-Wire Signaling
The DS1982 requires strict protocols to insure data integrity. The protocol consists of five types of signaling on one line: Reset Sequence with Reset Pulse and Presence Pulse, Write 0, Write 1, Read Data and Program Pulse. All these signals except presence pulse are initiated by the bus master. The initialization sequence required to begin any communication with the DS1982 is shown in Figure 10. A reset pulse followed by a presence pulse indicates the DS1982 is ready to accept a ROM command. The bus master transmits (TX) a reset pulse (tRSTL, minimum 480 s). The bus master then releases the line and goes into receive mode (RX). The 1-Wire bus is pulled to a high state via the pull-up resistor. After detecting the rising edge on the 1-Wire line, the DS1982 waits (tPDH, 15-60 s) and then transmits the presence pulse (tPDL, 60-240 s).
CRC GENERATION
The DS1982 has an 8-bit CRC stored in the most significant byte of the 64-bit ROM. The bus master can compute a CRC value from the first 56 bits of the 64-bit ROM and compare it to the value stored within the DS1982 to determine if the ROM data has been received error-free by the bus master. The equivalent polynomial function of this CRC is: X8 + X5 + X4 + 1. Under certain conditions, the DS1982 also generates an 8-bit CRC value using the same polynomial function shown above and provides this value to the bus master to validate the transfer of command, address, and data bytes from the bus master to the DS1982. The Memory Function Flow Chart of Figure 6 indicates that the DS1982 computes an 8-bit CRC for the command, address, and data bytes received for the Write Memory and the Write Status commands and then outputs this value to the bus master to confirm proper transfer. Similarly the DS1982 computes an 8-bit CRC for the command and address bytes received from the bus master
Read/Write Time Slots
The definitions of write and read time slots are illustrated in Figure 11. All time slots are initiated by the master driving the data line low. The falling edge of the data line synchronizes the DS1982 to the master by triggering a
062598 16/21
DS1982
for the Read Memory, Read Status, and Read Data/ Generate 8-Bit CRC commands to confirm that these bytes have been received correctly. The CRC generator on the DS1982 is also used to provide verification of error-free data transfer as each page of data from the 1024-bit EPROM is sent to the bus master during a Read Data/Generate 8-Bit CRC command, and for the eight bytes of information in the status memory field. In each case where a CRC is used for data transfer validation, the bus master must calculate a CRC value using the polynomial function given above and compare the calculated value to either the 8-bit CRC value stored in the 64-bit ROM portion of the DS1982 (for ROM
reads) or the 8-bit CRC value computed within the DS1982. The comparison of CRC values and decision to continue with an operation are determined entirely by the bus master. There is no circuitry on the DS1982 that prevents a command sequence from proceeding if the CRC stored in or calculated by the DS1982 does not match the value generated by the bus master. Proper use of the CRC as outlined in the flow chart of Figure 6 can result in a communication channel with a very high level of integrity. For more details on generating CRC values including example implementations in both hardware and software, see the Book of DS19xx iButton Standards.
INITIALIZATION PROCEDURE "RESET AND PRESENCE PULSES" Figure 10
MASTER TX "RESET PULSE" MASTER RX "PRESENCE PULSE"
tRSTH VPULLUP MIN VIH MIN VIL MAX 0V tRSTL tR tPDH RESISTOR MASTER DS1982 480 s < tRSTL < 1 * 480 s < tRSTH < 1 (includes recovery time) 15 s < tPDH < 60 s 60 s < tPDL < 240 s tPDL VPULLUP
* In order not to mask interrupt signaling by other devices on the 1-Wire bus, tRSTL + tR should always be less than 960 s.
062598 17/21
DS1982
READ/WRITE TIMING DIAGRAM Figure 11 Write-one Time Slot
tSLOT VPULLUP MIN VIH MIN VIL MAX 0V VPULLUP tREC
DS1982 SAMPLING WINDOW
tLOW1 15 s 60 s 60 s < tSLOT < 120 s 1 s < tLOW1 < 15 s 1 s < tREC < 1
Write-zero Time Slot
tREC tSLOT VPULLUP VPULLUP MIN VIH MIN VIL MAX 0V
DS1982 SAMPLING WINDOW
15 s 60 s tLOW0 60 s < tLOW0 < tSLOT < 120 s 1 s < tREC < 1
Read-data Time Slot
tSLOT VPULLUP VPULLUP MIN VIH MIN VIL MAX 0V tLOWR tRDV tREC
MASTER SAMPLING WINDOW
tRELEASE
RESISTOR MASTER DS1982
60 s < tSLOT < 120 s 1 s < tLOWR < 15 s 0 < tRELEASE < 45 s 1 s < tREC < 1 tRDV = 15 s
062598 18/21
DS1982
PROGRAM PULSE TIMING DIAGRAM Figure 12
VPP
VPULLUP tRP GND NORMAL 1-Wire COMMUNICATION ENDS >5 s tDP 480 s tPP >5 s tDV NORMAL 1-Wire COMMUNICATION RESUMES tFP
LINE TYPE LEGEND: Bus master active high (12V @ 10 mA) Resistor pull-up
062598 19/21
DS1982
ABSOLUTE MAXIMUM RATINGS*
Voltage on any Pin Relative to Ground Operating Temperature Storage Temperature -0.5V to +12.0V -40C to +85C -55C to +125C
* This is a stress rating only and functional operation of the device at these or any other conditions outside those indicated in the operation sections of this specification is not implied. Exposure to absolute maximum rating conditions for extended periods of time may affect reliability.
DC ELECTRICAL CHARACTERISTICS
PARAMETER Logic 1 Logic 0 Output Logic Low @4 mA Output Logic High Input Load Current Operating Charge Programming Voltage @ 10 mA SYMBOL VIH VIL VOL VOH IL QOP VPP 11.5 MIN 2.2 -0.3
(VPUP=2.8V to 6.0V; -40C to +85C)
TYP MAX VCC +0.3 +0.8 0.4 VPUP 5 30 12.0 6.0 UNITS V V V V A nC V NOTES 1,6 1, 11 1 1, 2 3 7, 8
CAPACITANCE
PARAMETER Data (1-Wire) SYMBOL CIN/OUT MIN TYP MAX 800 UNITS pF
(tA = 25C)
NOTES 9
AC ELECTRICAL CHARACTERISTICS
PARAMETER Time Slot Write 1 Low Time Write 0 Low Time Read Data Valid Release Time Read Data Setup Recovery Time Reset Time High Reset Time Low Presence Detect High Presence Detect Low Delay to Program Delay to Verify Program Pulse Width Program Voltage Rise Time Program Voltage Fall Time SYMBOL tSLOT tLOW1 tLOW0 tRDV tRELEASE tSU tREC tRSTH tRSTL tPDHIGH tPDLOW tDP tDV tPP tRP tFP 1 480 480 15 60 5 5 480 0.5 0.5 0 MIN 60 1 60
(VPUP=2.8V to 6.0V; -40C to +85C)
TYP MAX 120 15 120 exactly 15 15 45 1 UNITS s s s s s s s s s 60 240 s s s s 5000 5.0 5.0 s s s 10 10 10, 12 10 10 4 5 NOTES
062598 20/21
DS1982
NOTES:
1. All voltages are referenced to ground. 2. VPUP = external pull-up voltage. 3. Input load is to ground. 4. An additional reset or communication sequence cannot begin until the reset high time has expired. 5. Read data setup time refers to the time the host must pull the 1-Wire bus low to read a bit. Data is guaranteed to be valid within 1 s of this falling edge and will remain valid for 14 s minimum. (15 s total from falling edge on 1-Wire bus.) 6. VIH is a function of the external pull-up resistor and the VCC supply. 7. 30 nanocoulombs per 72 time slots @ 5.0V. 8. At VCC=5.0V with a 5 k pull-up to VCC and a maximum time slot of 120 s. 9. Capacitance on the data pin could be 800 pF when power is first applied. If a 5 k resistor is used to pull up the data line to VCC, 5 s after power has been applied the parasite capacitance will not affect normal communications. 10. Maximum 1-Wire voltage for programming parameters is 11.5V to 12.0V; temperature range is -40C to +50C. 11. Under certain low voltage conditions VILMAX may have to be reduced to as much as 0.5V to always guarantee a presence pulse. 12. The accumulative duration of the programming pulses for each address must not exceed 5 ms.
062598 21/21


▲Up To Search▲   

 
Price & Availability of DS1982

All Rights Reserved © IC-ON-LINE 2003 - 2022  

[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy]
Mirror Sites :  [www.datasheet.hk]   [www.maxim4u.com]  [www.ic-on-line.cn] [www.ic-on-line.com] [www.ic-on-line.net] [www.alldatasheet.com.cn] [www.gdcy.com]  [www.gdcy.net]


 . . . . .
  We use cookies to deliver the best possible web experience and assist with our advertising efforts. By continuing to use this site, you consent to the use of cookies. For more information on cookies, please take a look at our Privacy Policy. X